1
Thiết kế Vì Tính Linh hoạt: Giao diện Bảng
AI020Lesson 4
00:00

Nền tảng của một hệ thống linh hoạt nằm ở việc xác định một giao diện nội bộ cứng nhắc hợp đồng hoặc giao diện mà các đối tượng phải tuân theo. Trong ngữ cảnh này, chúng ta xác định một Giao diện Bảng trong đó mọi đối tượng ô đều đảm bảo sự tồn tại của ba phương thức cụ thể: minWidth(), minHeight(), và draw(width, height).

1. Hợp đồng Giao diện

Bằng cách chuẩn hóa các phương thức này, logic bố cục có thể tính toán kích thước hàng và cột toàn cục mà không cần biết kiểu dữ liệu nội bộ của từng ô. Đây là một ví dụ kinh điển về Đa hình dựa trên Giao diện.

2. Triển khai TextCell

Phương thức khởi tạo TextCell sẽ chuẩn bị đầu vào thô bằng cách chia chuỗi thành mảng từng dòng. Điều này chuyển độ phức tạp từ giai đoạn hiển thị sang giai đoạn khởi tạo.

this.text = text.split("\n");

3. Vẽ Chắc chắn

Phương thức khởi tạo draw(width, height) phương thức đảm bảo rằng đầu ra của mọi ô được căn chỉnh hoàn hảo bằng cách sử dụng hàm trợ giúp repeat() giúp đỡ. Điều này duy trì sự căn chỉnh dọc và ngang bất kể độ dài nội dung.

tênKilimanjarochiều cao5895Các cột được căn chỉnh thông qua minWidth() đã được tính toán

$$\text{Đệm} = \text{Chiều rộng} - \text{độ dài dòng}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>